//package com.lx.idea.common.util;
//
//import org.apache.commons.net.ftp.FTP;
//import org.apache.commons.net.ftp.FTPClient;
//import org.apache.commons.net.ftp.FTPReply;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//
//import java.io.IOException;
//import java.io.UnsupportedEncodingException;
//import java.net.SocketException;
//
////@Component
//public class FtpConnect {
//	private static Logger logger = LoggerFactory.getLogger(FtpConnect.class);
//
//	// FTP 登录用户名
////	@Value("${ftp.client.username}")
//	private String userName = "CAII_test35122";
//	// FTP 登录密码
////	@Value("${ftp.client.password}")
//	private String pwd = "?WBO8007LBF45@_!";
//	// FTP 服务器地址IP地址
////	@Value("${ftp.client.host}")
//	private String host ="119.96.251.21";
//	// FTP 端口
////	@Value("${ftp.client.port}")
//	private int port = 32822;
//
//
//	/**
//	 * 连接ftp
//	 *
//	 * @return
//	 * @throws Exception
//	 */
//	public FTPClient getFTPClient(String dir) {
//		FTPClient ftpClient = new FTPClient();
//		try {
//			ftpClient = new FTPClient();
//			logger.info("地址：" + host + "-" + port);
//			ftpClient.connect(host, port);// 连接FTP服务器
//			logger.info("用户名：" + userName);
//			ftpClient.login(userName, pwd);// 登陆FTP服务器
//			if (!FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) {
//				logger.info("未连接到FTP，用户名或密码错误。");
//				ftpClient.disconnect();
//			} else {
//				logger.info("FTP连接成功。");
//			}
//            ftpClient.enterLocalPassiveMode();// 设置被动模式
//	/*		ftpClient.sendCommand("OPTS UTF8", "ON");
//			ftpClient.setControlEncoding("UTF-8");*/
//			ftpClient.setFileType(FTP.BINARY_FILE_TYPE);//设置二进制传输
//
//			createDir(dir,ftpClient);
//		} catch (SocketException e) {
//			logger.error("连接ftp失败！");
//			logger.info("FTP的IP地址可能错误，请正确配置。");
//		} catch (IOException e) {
//			logger.error("连接ftp失败！");
//			logger.info("FTP的端口错误,请正确配置。");
//		}
//		return ftpClient;
//	}
//
//	private static void createDir(String remote,FTPClient ftpClient)throws UnsupportedEncodingException,IOException{
//		//将传进来的remote前面的目录路径拿出来
//		String directory = remote.substring(0, remote.lastIndexOf("/") + 1);
//
//		if (!directory.equalsIgnoreCase("/") && !ftpClient.changeWorkingDirectory(new String(directory.getBytes("UTF-8"), "ISO-8859-1"))) {
//			// 如果远程目录不存在，则递归创建远程服务器目录
//			int start = 0;
//			int end = 0;
//			//地址开头为/ start=1
//			if (directory.startsWith("/")) {
//				start = 1;
//			} else {
//				start = 0;
//			}
//			end = directory.indexOf("/", start);
//			while (true) {
//				String subDirectory = new String(remote.substring(start, end).getBytes("UTF-8"),"ISO-8859-1");
//				if (!ftpClient.changeWorkingDirectory(subDirectory)) {
//					if (ftpClient.makeDirectory(subDirectory)) {
//						ftpClient.changeWorkingDirectory(subDirectory);
//					} else {
//						System.out.println("创建目录失败");
//					}
//				}
//				start = end + 1;
//				end = directory.indexOf("/", start);
//
//				// 检查所有目录是否创建完毕
//				if (end <= start) {
//					break;
//				}
//			}
//
//		}
//	}
//
//	/**
//	 * 关闭连接
//	 *
//	 * @param ftpClient
//	 */
//	public void close(FTPClient ftpClient) {
//		try {
//			if (ftpClient != null) {
//				ftpClient.logout();
//				ftpClient.disconnect();
//			}
//		} catch (IOException e) {
//			logger.error("ftp连接关闭失败！");
//		}
//	}
//}
